import request from '@/utils/request'

// 登录方法
export function login(account, password, code, uuid) {
  const data = {
    account,
    password,
    // code,
    // uuid
  }
  return request({
    url: 'pub/checklogin',
    headers: {
      isToken: false
    },
    method: 'post',
    data: data
  })
}

// 注册方法
export function register(data) {
  return request({
    url: '/register',
    headers: {
      isToken: false
    },
    method: 'post',
    data: data
  })
}

// 获取用户详细信息
export function getInfo() {
  return request({
    url: 'admin_user/detail',
    method: 'get'
  })
}

// 退出方法
export function logout() {
  return request({
    url: 'pub/logout',
    method: 'post'
  })
}

// 获取验证码
export function getCodeImg() {
  return request({
    url: 'captcha',
    headers: {
      isToken: false
    },
    method: 'get',
    timeout: 20000,
    responseType: 'blob' // 告诉axios返回二进制数据
  }).then(blob => {
    return new Promise((resolve, reject) => {
      // 生成一个唯一的UUID
      const uuid = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
      
      // 创建FileReader将blob转换为base64
      const reader = new FileReader();
      reader.onload = (e) => {
        // 从Data URL中提取base64部分（去掉'data:image/png;base64,'前缀）
        const base64String = e.target.result.split(',')[1];
        
        // 返回前端期望的格式
        resolve({
          code: 200,
          img: base64String,
          uuid: uuid
        });
      };
      reader.onerror = reject;
      reader.readAsDataURL(blob);
    });
  });
}

// 验证二次密码
export function getCodeCheck(data) {
  return request({
    url: '/system/password',
    method: 'post',
    data: data
  })
}
